﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace EjercicioI
{
    class Turismo : Vehiculo
    {
        protected double PrecioKm { get; set; }
        protected int KmAlquiler { get; set; }
        public int KmDevolucion { get; set; }
        protected static int numTurismos = 0;
        protected static int numTurAlquilados = 0;
        
        public override void alquilar(int kmAlquiler)
        {
            this.KmAlquiler = kmAlquiler;
            Console.WriteLine(this.KmAlquiler);
            numTurAlquilados++;
            Alquilado = true;
                        
        }

        public override void devolver(int kmDevolucion)
        {
            double costoTotal;
            this.KmDevolucion = kmDevolucion;
            costoTotal = (this.KmDevolucion - KmAlquiler) * PrecioKm;
            Console.WriteLine(costoTotal);
            Alquilado = false;
            KmAlquiler = this.KmDevolucion;
            numTurAlquilados--;

        }

        public override void showinfo()
        {
            Console.WriteLine("Turismo");
            Console.WriteLine(Matricula);
            if (Alquilado == true)
             {   
                 Console.WriteLine("El Camion Esta Alquilado");
             }
            else
             {   
                 Console.WriteLine("El Camion No Esta Alquilado");
             }
            Console.WriteLine(this.PrecioKm);
            Console.WriteLine(numTurismos);
            Console.WriteLine(numTurAlquilados);

            
        }

        public override bool estaAlquilado()
            {
                return Alquilado;
            }


        public Turismo(string matric, bool alquil, double prKm)
            : base(matric, alquil)
        {
            numTurismos++;
            PrecioKm = prKm;
        
        }

    }
}
